package czh.cocoa.ui.impl;

import czh.cocoa.foundation.NSIndexPath;
import czh.cocoa.foundation.NSString;
import czh.cocoa.graphics.CGRect;
import czh.cocoa.ui.UIScreen;
import czh.cocoa.ui.UIView;
import czh.cocoa.ui.UIViewController;

import static czh.cocoa.ui.impl.UITableView.*;

public class UITableViewController extends UIViewController implements UITableViewDataSource, UITableViewDelegate {

	private UITableView mTableView;
	
	private int mTableStyle;
	
	public UITableViewController() {
		this(UITableViewStylePlain);
	}
	
	public UITableViewController(int style) {
		mTableStyle = style;
	}
	
	protected void loadView() {
		CGRect frame = UIScreen.mainScreen().applicationFrame();
		UITableView tableView = new UITableView(frame, mTableStyle);
		setTableView(tableView);
	}
	
	public void setTableView(UITableView tableView) {
		tableView.setDataSource(this);
		tableView.setDelegate(this);
		setView(tableView);
		mTableView = tableView;
	} 
	
	public UITableView tableView() {
		return mTableView;
	}
	
	@Override
	public float tableViewHeightForRowAtIndexPath(UITableView tableView, NSIndexPath indexPath) {
		return 0;
	}

	@Override
	public float tableViewHeightForHeaderInSection(UITableView tableView, int section) {
		return 0;
	}

	@Override
	public UIView tableViewViewForHeaderInSection(UITableView tableView, int section) {
		return null;
	}

	@Override
	public void tableViewDidSelectRowAtIndexPath(UITableView tableView, NSIndexPath indexPath) {
		
	}

	@Override
	public int numberOfSectionsInTableView(UITableView tableView) {
		return 0;
	}

	@Override
	public int tableViewNumberOfRowsInSection(UITableView tableView, int section) {
		return 0;
	}

	@Override
	public UITableViewCell tableViewCellForRowAtIndexPath(UITableView tableView, NSIndexPath indexPath) {
		return null;
	}

	@Override
	public NSString tableViewTitleForHeaderInSection(UITableView tableView, int section) {
		return null;
	}
	
	@Override
	public UIView viewForZoomingInScrollView(UIScrollView scrollView) {
		return null;
	}

	@Override
	public void scrollViewDidScroll(UIScrollView scrollView) {
		
	}

	@Override
	public void scrollViewDidEndDraggingWillDecelerate(UIScrollView scrollView, boolean decelerate) {
		
	}

	@Override
	public void scrollViewWillBeginDecelerating(UIScrollView scrollView) {
		
	}

	@Override
	public void scrollViewDidEndDecelerating(UIScrollView scrollView) {
		
	}

}
